OpenStack架构以及认证、镜像、计算、存储、网络介绍;OpenStack实验环境搭建与部署。
OpenStack架构
前面说到作为laaS层的云操作系统,OpenStack为虚拟机提供管理三大类资源:计算、网络、存储。

OpenStack架构图

VM:虚拟机
Nova:管理VM的生命周期,是OpenStack中最核心的服务。
Neutron:为OpenStack提供网络连接服务,负责创建和管理L2、L3网络,为VM提供虚拟物理和物理网络连接。
Glance:管理VM启动镜像,Nova创建VM时将使用Glance提供的镜像
Cinder:为VM提供块存储服务。Cinder提供的每一个Volume对于VM来说就是一块虚拟数据盘。
Swift:提供对象存储服务。VM通过RESTful API存放对象数据。Glance可以将镜像存放在Swift中;CInder也可以将Volume备份到Swift中。
Keystone:为OpenStack的各种服务提供认证和权限管理服务。
Cellmeter:提供OpenStack监控和计量服务,为报警、统计或计费提供数据。
Horizon:为OpenStack提供一个Web的自服务Portal。
名称 | 功能 | 服务类型 |
---|---|---|
Nova | 管理计算资源 | 核心服务 |
Neutron | 管理网络资源 | 核心服务 |
Glance | 存储OS镜像 | 核心服务 |
Cinder | 提供块存储 | 核心服务 |
Swift | 提供对象存储 | 可选服务 |
Keystone | 认证服务 | 核心服务 |
Ceilometer | 监控服务 | 可选服务 |
Horizon | 操作界面 | 核心服务 |
逻辑结构图

逻辑结构图,描述的是各服务各个组成部件以及各组件之间的逻辑关系,在实际部署方案上,各个组件可以部署到不同的物理节点上。
之后学习核心服务:Keystone、Glance、Nova、Neutron、Cinder。
搭建实验环境
部署拓扑介绍
OpenStack是一个分布式系统,由若干个不同功能的节点组成:
节点名称 | 节点功能 |
---|---|
控制节点 | 管理OpenStack,运行Keystone、Glance、Horizon、Nova和Neutron服务。同时也支持SQL数据库、消息队列和网络时间服务NTP。 |
网络节点 | 运行Neutron服务,为OpenStack提供L2和L3网络。包括虚拟机网络、DHCP、路由、NAT等 |
存储节点 | 提供CInder或Swift服务。 |
计算节点 | 运行Hypervisor(KVM) |
注:实际部署时可灵活配置,可以在若干台物理服务器上,也可以在将所有布置在一个虚拟服务器上(ALL-in-One)。
在实验中,我们用两个虚拟机进行部署:
- devstack-controller:控制节点+网络节点+块存储节点+计算节点
- devstack-computer:计算节点

物理资源需求
CPU | RAM | Storage | nic | |
---|---|---|---|---|
Devstack-controller | 1-2 | 4GB | 10GB | 3 |
Devstack-conputer | 2-4 | 8GB | 20GB | 2 |
网络规划
Management Network:用于OpenStack内部管理使用,各服务之间通信。(eth0)
VM Network:OpenStack部署的虚拟机所使用的网络。(eth1)
External Network:由于VM Network是内部私有网络,只用于VM之间通信。规划一个External Network,通过devstack-controller的eth2连接。Neutron通过L3服务访问到External Network(Internet)。